home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / AIncludes / QD3DShader.a < prev    next >
Encoding:
Text File  |  1998-08-17  |  9.1 KB  |  333 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        QD3DShader.a
  3. ;
  4. ;    Contains:    QuickDraw 3D Shader / Color Routines                            
  5. ;
  6. ;    Version:    Technology:    Quickdraw 3D 1.5.4
  7. ;                Release:    Universal Interfaces 3.2
  8. ;
  9. ;    Copyright:    © 1995-1998 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__QD3DSHADER__') = 'UNDEFINED' THEN
  18. __QD3DSHADER__ SET 1
  19.  
  20.     IF &TYPE('__QD3D__') = 'UNDEFINED' THEN
  21.     include 'QD3D.a'
  22.     ENDIF
  23.  
  24. ; ******************************************************************************
  25. ; **                                                                             **
  26. ; **                                RGB Color routines                             **
  27. ; **                                                                             **
  28. ; ****************************************************************************
  29.  
  30. ;
  31. ; extern TQ3ColorRGB *Q3ColorRGB_Set(TQ3ColorRGB *color, float r, float g, float b)
  32. ;
  33.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  34.         IMPORT_CFM_FUNCTION Q3ColorRGB_Set
  35.     ENDIF
  36.  
  37. ;
  38. ; extern TQ3ColorARGB *Q3ColorARGB_Set(TQ3ColorARGB *color, float a, float r, float g, float b)
  39. ;
  40.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  41.         IMPORT_CFM_FUNCTION Q3ColorARGB_Set
  42.     ENDIF
  43.  
  44. ;
  45. ; extern TQ3ColorRGB *Q3ColorRGB_Add(const TQ3ColorRGB *c1, const TQ3ColorRGB *c2, TQ3ColorRGB *result)
  46. ;
  47.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  48.         IMPORT_CFM_FUNCTION Q3ColorRGB_Add
  49.     ENDIF
  50.  
  51. ;
  52. ; extern TQ3ColorRGB *Q3ColorRGB_Subtract(const TQ3ColorRGB *c1, const TQ3ColorRGB *c2, TQ3ColorRGB *result)
  53. ;
  54.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  55.         IMPORT_CFM_FUNCTION Q3ColorRGB_Subtract
  56.     ENDIF
  57.  
  58. ;
  59. ; extern TQ3ColorRGB *Q3ColorRGB_Scale(const TQ3ColorRGB *color, float scale, TQ3ColorRGB *result)
  60. ;
  61.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  62.         IMPORT_CFM_FUNCTION Q3ColorRGB_Scale
  63.     ENDIF
  64.  
  65. ;
  66. ; extern TQ3ColorRGB *Q3ColorRGB_Clamp(const TQ3ColorRGB *color, TQ3ColorRGB *result)
  67. ;
  68.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  69.         IMPORT_CFM_FUNCTION Q3ColorRGB_Clamp
  70.     ENDIF
  71.  
  72. ;
  73. ; extern TQ3ColorRGB *Q3ColorRGB_Lerp(const TQ3ColorRGB *first, const TQ3ColorRGB *last, float alpha, TQ3ColorRGB *result)
  74. ;
  75.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  76.         IMPORT_CFM_FUNCTION Q3ColorRGB_Lerp
  77.     ENDIF
  78.  
  79. ;
  80. ; extern TQ3ColorRGB *Q3ColorRGB_Accumulate(const TQ3ColorRGB *src, TQ3ColorRGB *result)
  81. ;
  82.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  83.         IMPORT_CFM_FUNCTION Q3ColorRGB_Accumulate
  84.     ENDIF
  85.  
  86. ;
  87. ; extern float *Q3ColorRGB_Luminance(const TQ3ColorRGB *color, float *luminance)
  88. ;
  89.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  90.         IMPORT_CFM_FUNCTION Q3ColorRGB_Luminance
  91.     ENDIF
  92.  
  93. ; ******************************************************************************
  94. ; **                                                                             **
  95. ; **                                Shader Types                                 **
  96. ; **                                                                             **
  97. ; ****************************************************************************
  98.  
  99.  
  100. ; typedef long                            TQ3ShaderUVBoundary
  101. kQ3ShaderUVBoundaryWrap            EQU        0
  102. kQ3ShaderUVBoundaryClamp        EQU        1
  103.  
  104. ; ******************************************************************************
  105. ; **                                                                             **
  106. ; **                                Shader Routines                                 **
  107. ; **                                                                             **
  108. ; ****************************************************************************
  109.  
  110. ;
  111. ; extern TQ3ObjectType Q3Shader_GetType(TQ3ShaderObject shader)
  112. ;
  113.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  114.         IMPORT_CFM_FUNCTION Q3Shader_GetType
  115.     ENDIF
  116.  
  117. ;
  118. ; extern TQ3Status Q3Shader_Submit(TQ3ShaderObject shader, TQ3ViewObject view)
  119. ;
  120.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  121.         IMPORT_CFM_FUNCTION Q3Shader_Submit
  122.     ENDIF
  123.  
  124. ;
  125. ; extern TQ3Status Q3Shader_SetUVTransform(TQ3ShaderObject shader, const TQ3Matrix3x3 *uvTransform)
  126. ;
  127.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  128.         IMPORT_CFM_FUNCTION Q3Shader_SetUVTransform
  129.     ENDIF
  130.  
  131. ;
  132. ; extern TQ3Status Q3Shader_GetUVTransform(TQ3ShaderObject shader, TQ3Matrix3x3 *uvTransform)
  133. ;
  134.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  135.         IMPORT_CFM_FUNCTION Q3Shader_GetUVTransform
  136.     ENDIF
  137.  
  138. ;
  139. ; extern TQ3Status Q3Shader_SetUBoundary(TQ3ShaderObject shader, TQ3ShaderUVBoundary uBoundary)
  140. ;
  141.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  142.         IMPORT_CFM_FUNCTION Q3Shader_SetUBoundary
  143.     ENDIF
  144.  
  145. ;
  146. ; extern TQ3Status Q3Shader_SetVBoundary(TQ3ShaderObject shader, TQ3ShaderUVBoundary vBoundary)
  147. ;
  148.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  149.         IMPORT_CFM_FUNCTION Q3Shader_SetVBoundary
  150.     ENDIF
  151.  
  152. ;
  153. ; extern TQ3Status Q3Shader_GetUBoundary(TQ3ShaderObject shader, TQ3ShaderUVBoundary *uBoundary)
  154. ;
  155.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  156.         IMPORT_CFM_FUNCTION Q3Shader_GetUBoundary
  157.     ENDIF
  158.  
  159. ;
  160. ; extern TQ3Status Q3Shader_GetVBoundary(TQ3ShaderObject shader, TQ3ShaderUVBoundary *vBoundary)
  161. ;
  162.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  163.         IMPORT_CFM_FUNCTION Q3Shader_GetVBoundary
  164.     ENDIF
  165.  
  166.  
  167. ; ******************************************************************************
  168. ; **                                                                             **
  169. ; **                            Illumination Shader    Classes                         **
  170. ; **                                                                             **
  171. ; ****************************************************************************
  172.  
  173. ;
  174. ; extern TQ3ObjectType Q3IlluminationShader_GetType(TQ3ShaderObject shader)
  175. ;
  176.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  177.         IMPORT_CFM_FUNCTION Q3IlluminationShader_GetType
  178.     ENDIF
  179.  
  180. ;
  181. ; extern TQ3ShaderObject Q3PhongIllumination_New(void )
  182. ;
  183.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  184.         IMPORT_CFM_FUNCTION Q3PhongIllumination_New
  185.     ENDIF
  186.  
  187. ;
  188. ; extern TQ3ShaderObject Q3LambertIllumination_New(void )
  189. ;
  190.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  191.         IMPORT_CFM_FUNCTION Q3LambertIllumination_New
  192.     ENDIF
  193.  
  194. ;
  195. ; extern TQ3ShaderObject Q3NULLIllumination_New(void )
  196. ;
  197.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  198.         IMPORT_CFM_FUNCTION Q3NULLIllumination_New
  199.     ENDIF
  200.  
  201.  
  202. ; ******************************************************************************
  203. ; **                                                                             **
  204. ; **                                 Surface Shader                                 **
  205. ; **                                                                             **
  206. ; ****************************************************************************
  207.  
  208. ;
  209. ; extern TQ3ObjectType Q3SurfaceShader_GetType(TQ3SurfaceShaderObject shader)
  210. ;
  211.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  212.         IMPORT_CFM_FUNCTION Q3SurfaceShader_GetType
  213.     ENDIF
  214.  
  215.  
  216. ; ******************************************************************************
  217. ; **                                                                             **
  218. ; **                                Texture Shader                                 **
  219. ; **                                                                             **
  220. ; ****************************************************************************
  221.  
  222. ;
  223. ; extern TQ3ShaderObject Q3TextureShader_New(TQ3TextureObject texture)
  224. ;
  225.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  226.         IMPORT_CFM_FUNCTION Q3TextureShader_New
  227.     ENDIF
  228.  
  229. ;
  230. ; extern TQ3Status Q3TextureShader_GetTexture(TQ3ShaderObject shader, TQ3TextureObject *texture)
  231. ;
  232.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  233.         IMPORT_CFM_FUNCTION Q3TextureShader_GetTexture
  234.     ENDIF
  235.  
  236. ;
  237. ; extern TQ3Status Q3TextureShader_SetTexture(TQ3ShaderObject shader, TQ3TextureObject texture)
  238. ;
  239.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  240.         IMPORT_CFM_FUNCTION Q3TextureShader_SetTexture
  241.     ENDIF
  242.  
  243.  
  244. ; ******************************************************************************
  245. ; **                                                                             **
  246. ; **                                Texture Objects                                 **
  247. ; **                                                                             **
  248. ; ****************************************************************************
  249.  
  250. ;
  251. ; extern TQ3ObjectType Q3Texture_GetType(TQ3TextureObject texture)
  252. ;
  253.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  254.         IMPORT_CFM_FUNCTION Q3Texture_GetType
  255.     ENDIF
  256.  
  257. ;
  258. ; extern TQ3Status Q3Texture_GetWidth(TQ3TextureObject texture, unsigned long *width)
  259. ;
  260.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  261.         IMPORT_CFM_FUNCTION Q3Texture_GetWidth
  262.     ENDIF
  263.  
  264. ;
  265. ; extern TQ3Status Q3Texture_GetHeight(TQ3TextureObject texture, unsigned long *height)
  266. ;
  267.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  268.         IMPORT_CFM_FUNCTION Q3Texture_GetHeight
  269.     ENDIF
  270.  
  271.  
  272. ; ******************************************************************************
  273. ; **                                                                             **
  274. ; **                                Pixmap Texture                                 **
  275. ; **                                                                             **
  276. ; ****************************************************************************
  277.  
  278. ;
  279. ; extern TQ3TextureObject Q3PixmapTexture_New(const TQ3StoragePixmap *pixmap)
  280. ;
  281.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  282.         IMPORT_CFM_FUNCTION Q3PixmapTexture_New
  283.     ENDIF
  284.  
  285. ;
  286. ; extern TQ3Status Q3PixmapTexture_GetPixmap(TQ3TextureObject texture, TQ3StoragePixmap *pixmap)
  287. ;
  288.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  289.         IMPORT_CFM_FUNCTION Q3PixmapTexture_GetPixmap
  290.     ENDIF
  291.  
  292. ;
  293. ; extern TQ3Status Q3PixmapTexture_SetPixmap(TQ3TextureObject texture, const TQ3StoragePixmap *pixmap)
  294. ;
  295.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  296.         IMPORT_CFM_FUNCTION Q3PixmapTexture_SetPixmap
  297.     ENDIF
  298.  
  299.  
  300. ; ******************************************************************************
  301. ; **                                                                             **
  302. ; **                                Mipmap Texture                                 **
  303. ; **                                                                             **
  304. ; ****************************************************************************
  305.  
  306. ;
  307. ; extern TQ3TextureObject Q3MipmapTexture_New(const TQ3Mipmap *mipmap)
  308. ;
  309.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  310.         IMPORT_CFM_FUNCTION Q3MipmapTexture_New
  311.     ENDIF
  312.  
  313. ;
  314. ; extern TQ3Status Q3MipmapTexture_GetMipmap(TQ3TextureObject texture, TQ3Mipmap *mipmap)
  315. ;
  316.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  317.         IMPORT_CFM_FUNCTION Q3MipmapTexture_GetMipmap
  318.     ENDIF
  319.  
  320. ;
  321. ; extern TQ3Status Q3MipmapTexture_SetMipmap(TQ3TextureObject texture, const TQ3Mipmap *mipmap)
  322. ;
  323.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  324.         IMPORT_CFM_FUNCTION Q3MipmapTexture_SetMipmap
  325.     ENDIF
  326.  
  327.  
  328.  
  329.  
  330.  
  331.     ENDIF ; __QD3DSHADER__ 
  332.  
  333.